#ifndef LECTEURPHRASEAVECARBRE_H_
#define LECTEURPHRASEAVECARBRE_H_

#include "Symbole.h"
#include "LecteurSymbole.h"
#include <vector>
#include "LecteurPhraseAbstrait.h"
#include "LecteurFonction.h"
#include "TableSymboles.h"
#include "Arbre.h"

#include <stdlib.h>
#include <string>
using namespace std;

class LecteurPhraseAvecArbre : public LecteurPhraseAbstrait {
public:
    LecteurPhraseAvecArbre(string nomFich); // Construit un lecteur de phrase pour interpreter
    //  le programme dans le fichier nomFich
    void genCode();
private:
    // implémentation de la grammaire
    Noeud* programme(); // <programme> ::= <seqFonc> debut <seqInst> fin FIN_FICHIER
    void seqFonc();  // <seqInst> ::= { <fonction> }
};

#endif /* LECTEURPHRASEAVECARBRE_H_ */